#!/usr/bin/python3
# -*- coding: UTF-8 -*-

"""
文档字符串：
    使用 """""" 包括的，位于函数体首行的；
    第一行应该是对项目的简要概述，以答谢字母开头，以句号结尾
    有多行时第二行应为空行
"""


def my_function():
    """Do nothing, but document it.

    No, really, it doesn't do anything.
    """
    pass


print(my_function.__doc__)  # 打印文档

"""
函数标注：
    用户自定义函数中使用的类型的完全可选数据信息(参阅 PEP 3107 和 PEP 484)
    函数标注以字典的形式存放在函数的 __annotations__ 属性中，并且不会影响函数的任何其它部分
    形参标注的定义方式是在参数名称后加上冒号，后面跟一个表达式，该表达式的会被求值为标注的值
    返回值标注的定义方式是加上一个组合符号 -> ，后面跟一个表达式，该标注位于形参类别和表示 def 语句结束的冒号之间
"""


def f(ham: str, eggs: int = 'eggs') -> str:
    print("Annotations:", f.__annotations__)
    print("Arguments:", ham, eggs)
    return ham + ' and' + eggs


print(f('spam'))
